﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using RegistroMascotas.Modelo;
using Service;

namespace RegistroMascotas
{
    public partial class mascota_historia_clinica_modificar : System.Web.UI.Page
    {
        private HistoriaClinica _miHistoriaClinica = null;
        Mascota _miMascota = null; 

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                _miMascota = (Mascota)Session["Mascota"];
                titulo.InnerText += " " + _miMascota.Nombre;
                panelOculto.Visible = false;
                cargarHistoriaClinica();
                bienvenido2.Text = "Bienvenido/a Dr/a " + User.Identity.Name;
            }
        }

        protected void btnGuardarCambios_Click(object sender, EventArgs e)
        {
            bool exito = false;
            _miHistoriaClinica = new HistoriaClinica();
            _miMascota = (Mascota)Session["Mascota"];

            try
            {
                _miHistoriaClinica.Enfermedades = input_enfermedades.Text;
                _miHistoriaClinica.Medicacion = input_medicacion.Text;
                _miHistoriaClinica.Observaciones = input_observaciones.Text;
                _miHistoriaClinica.Vacunas = input_vacunas.Text;

                if (ddlCastrado.SelectedValue == "No")
                    _miHistoriaClinica.Castrado = false;
                else
                    _miHistoriaClinica.Castrado = true;

                if (ddlOperado.SelectedValue == "No")
                    _miHistoriaClinica.Operado = false;
                else
                    _miHistoriaClinica.Operado = true;

                _miMascota.HistoriaClinica = _miHistoriaClinica;

                Session["Mascota"] = null;
                Session["Mascota"] = _miMascota;

                exito = GestorMascota.modificarMascotaHechaPorVeterinario(_miMascota.IdMascota, _miMascota.HistoriaClinica);

                if (exito) {
                    cuentacentro.Visible = false;
                    lblError.Text = "La historia clínica de la mascota fue modificada con éxito.";
                    panelOculto.Visible = true;
                }                
            }
            catch (Exception ex)
            {
                cuentacentro.Visible = false;
                lblError.Text = ex.Message;
                lblError.CssClass = "errores";
                panelOculto.Visible = true;
            }
        }

        private void cargarHistoriaClinica() {
            _miHistoriaClinica = (HistoriaClinica)Session["HistoriaClinica"];

            input_enfermedades.Text = _miHistoriaClinica.Enfermedades;
            input_medicacion.Text = _miHistoriaClinica.Medicacion;
            input_vacunas.Text = _miHistoriaClinica.Vacunas;
            input_observaciones.Text = _miHistoriaClinica.Observaciones;

            if (_miHistoriaClinica.Operado)
            {
                ddlOperado.SelectedValue = "Si";
            }
            else {
                ddlOperado.SelectedValue = "No";
            }

            if (_miHistoriaClinica.Castrado)
            {
                ddlCastrado.SelectedValue = "Si";
            }
            else
            {
                ddlCastrado.SelectedValue = "No";
            }
        }
    }
}